The total TAX amount for the Invoice.
請求書消費税合計金額。


About

Syntax binding
ubl:Invoice / cac:TaxTotal / cbc:TaxAmount
Restricted Syntax Cardinality
1..1
Example
0
Attribute(s)
@currencyID
UBL 2.1
XPath
/ Invoice / cac:TaxTotal [ cbc:TaxAmount / @currencyID = / Invoice / cbc:DocumentCurrencyCode ] / cbc:TaxAmount
Occurrence
1
Datatype
AmountType
UBL Definition
The total tax amount for a particular taxation scheme, e.g., VAT; the sum of the tax subtotals for each tax category within the taxation scheme.
Namespace
cbc urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2

Semantic

Business Term

Invoice total TAX amount

請求書消費税合計金額
ID
ibt-110
Description
The total TAX amount for the Invoice.
請求書消費税合計金額。
Aligned Cardinality
1..1
Semantic datatype
Amount

Code list

ISO4217
ISO 4217 Currency codes

Child element

  ID Business term Sem. Card. Syntax Card. XPath
  1..1 1..1 / Invoice / cac:TaxTotal [ cbc:TaxAmount / @currencyID = / Invoice / cbc:DocumentCurrencyCode ] / cbc:TaxAmount / @currencyID

VERSION 1.0 RULES

Unchanged
Same as 0.9.3

VERSION 0.9.3 RULES
JP PINT 0.9.3 Shared rules
ibr-084(fatal)
Unchanged
Same as 0.9.2
ibr-124(fatal)
Unchanged
Same as 0.9.2
ibr-co-14(fatal)
Unchanged
Same as 0.9.2
ibr-co-15(fatal)
Changed Test
[ibr-co-15]-Invoice total amount with Tax (ibt-112) = Invoice total amount without Tax (ibt-109) + Invoice total Tax amount (ibt-110).
context
/ubl:Invoice |
/cn:CreditNote
test
(cac:LegalMonetaryTotal/xs:decimal(cbc:TaxInclusiveAmount) =
  round(
    (cac:LegalMonetaryTotal/xs:decimal(cbc:TaxExclusiveAmount) +
      cac:TaxTotal/xs:decimal(cbc:TaxAmount[@currencyID=/*/cbc:DocumentCurrencyCode])
    ) * 10 * 10
  ) div 100
)

VERSION 0.9.2 RULES
JP PINT 0.9.2 Shared rules
ibr-084(fatal)
Still valid
[ibr-084]-Invoice total tax amount (ibt-110) and Invoice total tax amount in accounting currency (ibt-111) MUST have the same operational sign.
context
/ubl:Invoice |
/cn:CreditNote
test
not(cbc:TaxCurrencyCode) or
(cac:TaxTotal/cbc:TaxAmount[@currencyID=normalize-space(../../cbc:TaxCurrencyCode)] <= 0 and
  cac:TaxTotal/cbc:TaxAmount[@currencyID=normalize-space(../../cbc:DocumentCurrencyCode)] <= 0) or
(cac:TaxTotal/cbc:TaxAmount[@currencyID=normalize-space(../../cbc:TaxCurrencyCode)] >= 0 and
  cac:TaxTotal/cbc:TaxAmount[@currencyID=normalize-space(../../cbc:DocumentCurrencyCode)] >= 0
)
ibr-124(fatal)
Still valid
[ibr-124]-Invoice total TAX amount (ibt-110) MUST have no more than 2 decimals.
context
/ubl:Invoice/cac:TaxTotal |
/cn:CreditNote/cac:Taxtotal
test
string-length(substring-after(cbc:TaxAmount, '.')) <= 2
ibr-co-14(fatal)
Still valid
[ibr-co-14]-Invoice total Tax amount (ibt-110) = Σ Tax category tax amount (ibt-117).
context
/ubl:Invoice/cac:TaxTotal |
/cn:CreditNote/cac:Taxtotal
test
(
  xs:decimal(child::cbc:TaxAmount)= round((sum(cac:TaxSubtotal/xs:decimal(cbc:TaxAmount)) * 10 * 10)) div 100) or
not(cac:TaxSubtotal)
ibr-co-15(fatal)
Obsoleted
[ibr-co-15]-Invoice total amount with Tax (ibt-112) = Invoice total amount without Tax (ibt-109) + Invoice total Tax amount (ibt-110).
context
/ubl:Invoice |
/cn:CreditNote
test
every $Currency in cbc:DocumentCurrencyCode satisfies
(cac:LegalMonetaryTotal/xs:decimal(cbc:TaxInclusiveAmount) =
  round(
    (cac:LegalMonetaryTotal/xs:decimal(cbc:TaxExclusiveAmount) +
      cac:TaxTotal/xs:decimal(cbc:TaxAmount[@currencyID=$Currency])
    ) * 10 * 10
  ) div 100
)
Code list rule (Shared rule)
ibr-cl-03 (fatal)
[ibr-cl-03]-currencyID MUST be coded using ISO code list 4217 alpha-3.
Context
cbc:TaxAmount
Test
(
  (
    not(contains(normalize-space(@currencyID), ' ')) and
    contains(' AED AFN ALL AMD ANG AOA ARS AUD AWG AZN BAM BBD BDT BGN BHD BIF BMD BND BOB BOV BRL BSD BTN BWP BYR BZD CAD CDF CHE CHF CHW CLF CLP CNY COP COU CRC CUC CUP CVE CZK DJF DKK DOP DZD EGP ERN ETB EUR FJD FKP GBP GEL GHS GIP GMD GNF GTQ GYD HKD HNL HRK HTG HUF IDR ILS INR IQD IRR ISK JMD JOD JPY KES KGS KHR KMF KPW KRW KWD KYD KZT LAK LBP LKR LRD LSL LYD MAD MDL MGA MKD MMK MNT MOP MRO MUR MVR MWK MXN MXV MYR MZN NAD NGN NIO NOK NPR NZD OMR PAB PEN PGK PHP PKR PLN PYG QAR RON RSD RUB RWF SAR SBD SCR SDG SEK SGD SHP SLL SOS SRD SSP STD SVC SYP SZL THB TJS TMT TND TOP TRY TTD TWD TZS UAH UGX USD USN UYI UYU UZS VEF VND VUV WST XAF XAG XAU XBA XBB XBC XBD XCD XDR XOF XPD XPF XPT XSU XTS XUA XXX YER ZAR ZMW ZWL ',
      concat(' ', normalize-space(@currencyID), ' ')
    )
  )
)
ibr-cl-04 (fatal)
[ibr-cl-04]-Invoice currency code MUST be coded using ISO code list 4217 alpha-3
Context
cbc:DocumentCurrencyCode
Test
(
  (
    not(contains(normalize-space(.), ' ')) and
    contains(' AED AFN ALL AMD ANG AOA ARS AUD AWG AZN BAM BBD BDT BGN BHD BIF BMD BND BOB BOV BRL BSD BTN BWP BYR BZD CAD CDF CHE CHF CHW CLF CLP CNY COP COU CRC CUC CUP CVE CZK DJF DKK DOP DZD EGP ERN ETB EUR FJD FKP GBP GEL GHS GIP GMD GNF GTQ GYD HKD HNL HRK HTG HUF IDR ILS INR IQD IRR ISK JMD JOD JPY KES KGS KHR KMF KPW KRW KWD KYD KZT LAK LBP LKR LRD LSL LYD MAD MDL MGA MKD MMK MNT MOP MRO MUR MVR MWK MXN MXV MYR MZN NAD NGN NIO NOK NPR NZD OMR PAB PEN PGK PHP PKR PLN PYG QAR RON RSD RUB RWF SAR SBD SCR SDG SEK SGD SHP SLL SOS SRD SSP STD SVC SYP SZL THB TJS TMT TND TOP TRY TTD TWD TZS UAH UGX USD USN UYI UYU UZS VEF VND VUV WST XAF XAG XAU XBA XBB XBC XBD XCD XDR XOF XPD XPF XPT XSU XTS XUA XXX YER ZAR ZMW ZWL ',
      concat(' ', normalize-space(.), ' ')
    )
  )
)

VERSION 0.9.1 RULES
Obsoleted
Shared rules (0.9.1)
ibr-084 (fatal)
[ibr-084]-Invoice total tax amount (ibt-110) and Invoice total tax amount in accounting currency (ibt-111) MUST have the same operational sign.
context
/ubl:Invoice |
/cn:CreditNote
test
not(cbc:TaxCurrencyCode) or
(cac:TaxTotal/cbc:TaxAmount[@currencyID=normalize-space(../../cbc:TaxCurrencyCode)] <= 0 and
  cac:TaxTotal/cbc:TaxAmount[@currencyID=normalize-space(../../cbc:DocumentCurrencyCode)] <= 0) or
(cac:TaxTotal/cbc:TaxAmount[@currencyID=normalize-space(../../cbc:TaxCurrencyCode)] >= 0 and
  cac:TaxTotal/cbc:TaxAmount[@currencyID=normalize-space(../../cbc:DocumentCurrencyCode)] >= 0
)
ibr-co-14 (fatal)
[ibr-co-14]-Invoice total Tax amount (ibt-110) = Σ Tax category tax amount (ibt-117).
context
/ubl:Invoice/cac:TaxTotal |
/cn:CreditNote/cac:Taxtotal
test
(
  xs:decimal(child::cbc:TaxAmount)= round((sum(cac:TaxSubtotal/xs:decimal(cbc:TaxAmount)) * 10 * 10)) div 100) or
not(cac:TaxSubtotal)
ibr-co-15 (fatal)
[ibr-co-15]-Invoice total amount with Tax (ibt-112) = Invoice total amount without Tax (ibt-109) + Invoice total Tax amount (ibt-110).
context
/ubl:Invoice |
/cn:CreditNote
test
every $Currency in cbc:DocumentCurrencyCode satisfies
(cac:LegalMonetaryTotal/xs:decimal(cbc:TaxInclusiveAmount) =
  round(
    (cac:LegalMonetaryTotal/xs:decimal(cbc:TaxExclusiveAmount) +
      cac:TaxTotal/xs:decimal(cbc:TaxAmount[@currencyID=$Currency])
    ) * 10 * 10
  ) div 100
)
Code list rule (Shared rule)
ibr-cl-03 (fatal)
[ibr-cl-03]-currencyID MUST be coded using ISO code list 4217 alpha-3.
Context
cbc:TaxAmount
Test
(
  (
    not(contains(normalize-space(@currencyID), ' ')) and
    contains(' AED AFN ALL AMD ANG AOA ARS AUD AWG AZN BAM BBD BDT BGN BHD BIF BMD BND BOB BOV BRL BSD BTN BWP BYR BZD CAD CDF CHE CHF CHW CLF CLP CNY COP COU CRC CUC CUP CVE CZK DJF DKK DOP DZD EGP ERN ETB EUR FJD FKP GBP GEL GHS GIP GMD GNF GTQ GYD HKD HNL HRK HTG HUF IDR ILS INR IQD IRR ISK JMD JOD JPY KES KGS KHR KMF KPW KRW KWD KYD KZT LAK LBP LKR LRD LSL LYD MAD MDL MGA MKD MMK MNT MOP MRO MUR MVR MWK MXN MXV MYR MZN NAD NGN NIO NOK NPR NZD OMR PAB PEN PGK PHP PKR PLN PYG QAR RON RSD RUB RWF SAR SBD SCR SDG SEK SGD SHP SLL SOS SRD SSP STD SVC SYP SZL THB TJS TMT TND TOP TRY TTD TWD TZS UAH UGX USD USN UYI UYU UZS VEF VND VUV WST XAF XAG XAU XBA XBB XBC XBD XCD XDR XOF XPD XPF XPT XSU XTS XUA XXX YER ZAR ZMW ZWL ',
      concat(' ', normalize-space(@currencyID), ' ')
    )
  )
)
ibr-cl-04 (fatal)
[ibr-cl-04]-Invoice currency code MUST be coded using ISO code list 4217 alpha-3
Context
cbc:DocumentCurrencyCode
Test
(
  (
    not(contains(normalize-space(.), ' ')) and
    contains(' AED AFN ALL AMD ANG AOA ARS AUD AWG AZN BAM BBD BDT BGN BHD BIF BMD BND BOB BOV BRL BSD BTN BWP BYR BZD CAD CDF CHE CHF CHW CLF CLP CNY COP COU CRC CUC CUP CVE CZK DJF DKK DOP DZD EGP ERN ETB EUR FJD FKP GBP GEL GHS GIP GMD GNF GTQ GYD HKD HNL HRK HTG HUF IDR ILS INR IQD IRR ISK JMD JOD JPY KES KGS KHR KMF KPW KRW KWD KYD KZT LAK LBP LKR LRD LSL LYD MAD MDL MGA MKD MMK MNT MOP MRO MUR MVR MWK MXN MXV MYR MZN NAD NGN NIO NOK NPR NZD OMR PAB PEN PGK PHP PKR PLN PYG QAR RON RSD RUB RWF SAR SBD SCR SDG SEK SGD SHP SLL SOS SRD SSP STD SVC SYP SZL THB TJS TMT TND TOP TRY TTD TWD TZS UAH UGX USD USN UYI UYU UZS VEF VND VUV WST XAF XAG XAU XBA XBB XBC XBD XCD XDR XOF XPD XPF XPT XSU XTS XUA XXX YER ZAR ZMW ZWL ',
      concat(' ', normalize-space(.), ' ')
    )
  )
)

JP PINT 0.9 RULES
Obsoleted
Shared Rules (0.9)
ibr-co-14(fatal)
[ibr-co-14]-Invoice total Tax amount (ibt-110) = Σ Tax category tax amount (ibt-117).
context
/ubl:Invoice/cac:TaxTotal | /cn:CreditNote/cac:Taxtotal
test
(
  xs:decimal(child::cbc:TaxAmount)= round((sum(cac:TaxSubtotal/xs:decimal(cbc:TaxAmount)) * 10 * 10)) div 100) or
not(cac:TaxSubtotal)

PEPPOL BIS BILLING 3.0 RULES
EN16931 model bound to UBL rules
BR-CO-14 (fatal)
Invoice total VAT amount (BT-110) = Σ VAT category tax amount (BT-117).
context
/ubl:Invoice/cac:TaxTotal |
/cn:CreditNote/cac:TaxTotal
test
(
  xs:decimal(child::cbc:TaxAmount)= round((sum(cac:TaxSubtotal/xs:decimal(cbc:TaxAmount)) * 10 * 10)) div 100) or
not(cac:TaxSubtotal)
BR-CO-15 (fatal)
Invoice total amount with VAT (BT-112) = Invoice total amount without VAT (BT-109) + Invoice total VAT amount (BT-110).
context
/ubl:Invoice |
/cn:CreditNote
test
every $Currency in cbc:DocumentCurrencyCode satisfies
(count(cac:TaxTotal/xs:decimal(cbc:TaxAmount[@currencyID=$Currency])) eq 1) and
(cac:LegalMonetaryTotal/xs:decimal(cbc:TaxInclusiveAmount) =
  round(
    (cac:LegalMonetaryTotal/xs:decimal(cbc:TaxExclusiveAmount) +
      cac:TaxTotal/xs:decimal(cbc:TaxAmount[@currencyID=$Currency])
    ) * 10 * 10
  ) div 100
)
BR-DEC-13 (fatal)
The allowed maximum number of decimals for the Invoice total VAT amount (BT-110) is 2.
context
/ubl:Invoice |
/cn:CreditNote
test
(//cac:TaxTotal/cbc:TaxAmount[@currencyID =
  cbc:DocumentCurrencyCode] and
  (string-length(substring-after(//cac:TaxTotal/cbc:TaxAmount[@currencyID =
        cbc:DocumentCurrencyCode],'.'))<=2)) or
(
  not(
    //cac:TaxTotal/cbc:TaxAmount[@currencyID =
    cbc:DocumentCurrencyCode]
  )
)